The invention relates generally to storage systems. More particularly, the invention relates to a system and method of detecting an improper cable connection in a storage system.
A typical storage system includes one or more racks of storage devices or enclosures. A loop is a common topology in which the enclosures of a storage system are connected. Communication signals traverse the loop in one direction and pass from enclosure to enclosure in a daisy-chain fashion. Enclosures receiving communication signals targeted for another enclosure forward those signals along the loop.
An example of a prior art storage system 100 is shown in FIG. 1. This storage system 100 has a plurality of enclosures 104, 104xe2x80x2, 104xe2x80x3 and 104xe2x80x3xe2x80x2 generally, enclosure 104). Each enclosure 104 has a plurality of disk modules (not shown), and redundant link control cards (LCC) 108, 108xe2x80x2 (generally, LCC 108), and redundant power supplies 112, 112xe2x80x2 (generally, power supply 112). Partitioned into an xe2x80x9cAxe2x80x9d side and a xe2x80x9cBxe2x80x9d side, each enclosure 104 has redundant backend loops. One loop includes the xe2x80x9cAxe2x80x9d side of each enclosure 104 and the host processor 128 and the other loop includes the xe2x80x9cBxe2x80x9d side of the each enclosure 104 and the host processor 128xe2x80x2.
Each LCC 108 includes a primary communications port 116 and an expansion communications port 120. For clarity sake, reference numerals appear in FIG. 1 for the primary communications ports 116 and expansion communications ports 120 of the enclosure 104xe2x80x2xe2x80x3 only. The communications ports 116, 120 are located at the side edges of the enclosure 104, with the expansion communications port 120 being positioned above the primary communications port 116.
Cables 124 connect the expansion communications port 120 of one enclosure 104 to the primary communications port 116 of the next enclosure 104 in the daisy-chain. Also, host processors 128, 128xe2x80x2 (generally, host processor 128), which access the storage system 100 for data storage and retrieval, are each connected to the primary communications port 116 of one of the LCCs 108 of the enclosure 104xe2x80x2xe2x80x3. The host processors 128 are thus part of the redundant daisy-chained loops.
The location of the communications ports 116, 120 at the edges of the enclosures simplifies the cable connections between the enclosures 104. Typically the expansion communications port 120 of one enclosure is directly below and near the primary communications port 116 of the neighboring enclosure. Consequently, only two relatively short cables 124 pass between two neighboring enclosures 104, one cable 124 at each enclosure edge. Thus the cabling between enclosures 104 is relatively straightforward and improper cable connections between enclosures 104 easy to detect.
Storage systems, however, are becoming increasingly sophisticated and the cabling between enclosures increasingly complicated. Some storage systems employ more than one backend loop, thus increasing the number of cables that connect to each LCC and causing some cables to cross over other cables. A backend loop is the loop formed when the host processor is connected to the storage system 100. FIG. 1 has one backend loop on each host processor 128. The layout of LCCs and power supplies in an enclosure may vary from that shown in FIG. 1, requiring cables to be longer and to extend into the interior of the storage system rather than remain along the its edges. The final product can appear like a tangled nest of cables, and the possibility that the storage system has an improper cable connection becomes more likely. Moreover, the tangle of cables can complicate and frustrate attempts to troubleshoot a storage system with an improper cable connection. Visually inspecting the storage system to see if the cabling is done properly becomes more difficult and less trustworthy. Therefore, there is a need for a system and method for testing the connectivity of cables to detect a system with an improper cable connection.
In one aspect, the invention features a system comprising an enclosure having boards. Each board has a communications port that receives a message identifying a redundant backend network to which that board is connected. The enclosure determines whether the system has an improper cable connection by determining from the messages whether the boards are connected to the same redundant backend network.
In another aspect, the invention features an enclosure for a system comprising a first and a second card. Each card has a communications port. A first cable conveys an identifier to the communications port of the first card, and a second cable conveys an identifier to the communications port of second card. Each identifier identifies a network to which the card receiving that identifier is connected. The enclosure also includes means for determining if the cards are connected to different networks based on the identifiers conveyed to the communications ports of the first and second cards.
In yet another aspect, the invention features a method of testing connectivity of cabling in a storage system that implements redundancy. A first identifier is received over a first cable at a first card in an enclosure. A second identifier is received over a second cable at a second card in the enclosure. The method also includes determining if the cards are connected to different networks based on the first and second identifiers.